#!/usr/bin/env node

/**
 * Bundle 分析脚本
 * 使用方法: npm run analyze
 */

const { execSync } = require('child_process');
const fs = require('fs');
const path = require('path');

console.log('🔍 开始分析 Bundle 大小...\n');

try {
  // 设置环境变量并构建
  process.env.ANALYZE = 'true';
  
  console.log('📦 正在构建项目...');
  execSync('npm run build', { 
    stdio: 'inherit',
    env: { ...process.env, ANALYZE: 'true' }
  });
  
  console.log('\n✅ 构建完成！');
  console.log('📊 Bundle 分析报告已生成：');
  console.log('   - Rollup Visualizer: dist/stats.html');
  
  // 检查是否有 webpack-bundle-analyzer 报告
  const webpackStatsPath = path.join(process.cwd(), 'dist', 'webpack-stats.html');
  if (fs.existsSync(webpackStatsPath)) {
    console.log('   - Webpack Bundle Analyzer: dist/webpack-stats.html');
  }
  
  console.log('\n💡 优化建议：');
  console.log('   1. 查看最大的 chunks，考虑进一步拆分');
  console.log('   2. 检查重复的依赖包');
  console.log('   3. 移除未使用的代码');
  console.log('   4. 考虑使用动态导入进行代码分割');
  
} catch (error) {
  console.error('❌ Bundle 分析失败:', error.message);
  process.exit(1);
}